-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
deps: V8: backport --perf-prof
for macOS
#58010
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Original commit message: Enable --perf-prof flag on MacOS MacOS actually can share the implementation of {PerfJitLogger} with Linux. From the issue 40112126, only Fuzzer tests on Windows ran into UNREACHABLE/FATAL because of the unimplemented {PerfJitLogger}. This CL enables the flag --perf-prof on MacOS. Bug: 403765219 Change-Id: I97871fbcc0cb9890c51ca14fd7a6e65bd0e3c0d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6385655 Reviewed-by: Clemens Backes <[email protected]> Reviewed-by: Matthias Liedtke <[email protected]> Auto-Submit: 杨文明 <[email protected]> Commit-Queue: Clemens Backes <[email protected]> Cr-Commit-Position: refs/heads/main@{#99885} Refs: v8/v8@e5dbbba Co-authored-by: Aman Karmani <[email protected]>
Review requested:
|
Which commit does this backport? Can you share it? |
With this change, it becomes possible to profile nodejs apps on macOS and see a full-stack profile which shows all this information in one place:
As noted in nodejs/diagnostics#652, this kind of combined profile is invaluable for investigating and fixing performance issues. Since many developers use macOS, this is especially critical to improve the performance of nodejs itself and its surrounding development tooling. An example of how to use this patched nodejs with samply:
For reference, other competing runtimes already offer this level of integration. For example, bun is based on JavaScriptCore which enables this feature by default. The equivalent command for them is:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
👋 could someone add the labels needed to move this forward? thx |
This comment was marked as outdated.
This comment was marked as outdated.
CI appears to be done. I can't tell if there are real failures I need to address. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@targos could you please take a look when you get some time?
This commit is included in #58070. |
Okay, will close this in favor of your V8 upgrade PR. @targos would it be fine if we create a PR to backport just this cherrypick to the v22 LTS branch? |
Sure, as long as the V8 version in v22 is ready for it. |
Backport for LTS submitted in #58120 |
this allows for profiling nodejs on macOS with https://github.com/mstange/samply
Fixes: nodejs/diagnostics#652
cc @hardfist @deepak1556 @RaisinTen @mstange @Qard mstange/samply#417